package com.campus.counseling.service;

import com.campus.counseling.model.dto.ScheduleDTO;
import com.campus.counseling.model.dto.BatchScheduleDTO;
import com.campus.counseling.model.query.ScheduleQuery;
import com.campus.counseling.model.vo.ScheduleVO;
import com.campus.counseling.model.vo.TimeSlotVO;

import java.time.LocalDate;
import java.util.List;

public interface ScheduleService {
    List<ScheduleVO> getScheduleList(ScheduleQuery query);
    
    void addSchedule(ScheduleDTO scheduleDTO);
    
    void batchAddSchedule(BatchScheduleDTO batchScheduleDTO);
    
    void updateSchedule(ScheduleDTO scheduleDTO);
    
    void deleteSchedule(Long id);
    
    List<TimeSlotVO> getAvailableTimeSlots(Long counselorId, LocalDate date);
} 